/*
 * funciones_NIPC.h
 *
 *  Created on: 21/09/2011
 *      Author: utn_so
 */

#ifndef FUNCIONES_NIPC_H_
#define FUNCIONES_NIPC_H_


#include "estructuras_generales.h"
#include <time.h>
#include <unistd.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include <signal.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <sys/select.h>
#include <unistd.h>
#include <netinet/in.h>
#include "log.h"

//struct nipc_protocol * recibirNIPC (int32_t descriptor);
//int32_t mandarNIPC (struct nipc_protocol * mensaje, int socket_escucha);
//void serializeNIPC(struct nipc_protocol * punteroEstructuraNIPC, char*resultado);
//void unSerializeNIPC(char * resultado, struct nipc_protocol * punteroEstructuraNIPC);
//char sector_darCifra(int32_t numeroSector);

void serializeNIPC(char*resultado,char type,int32_t payloadLength,char *payload,int32_t numeroSector,char cifraSector) ;
void deserealizarNIPC(char*resultado,struct nipc_protocol *punteroEstructuraNIPC);
void NIPC_preparar(struct nipc_protocol*punteroNIPC,  char type,int32_t payloadLength,char *payload,int32_t numeroSector);
void NIPC_enviar(int32_t descriptorSocket,char type,int32_t payloadLength,char *payload,int32_t numeroSector);
void NIPC_recibir(int32_t *descriptorSocket, struct nipc_protocol *punteroNIPC);
char sector_darCifra(int32_t numeroSector);
int cifraSector_devolverInt(char cifraEnChar);


#endif /* FUNCIONES_NIPC_H_ */
